// AWTWindow.h: interface for the AWTWindow class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_AWTWINDOW_H__0A7D1295_6F4E_11D2_A414_006097A44215__INCLUDED_)
#define AFX_AWTWINDOW_H__0A7D1295_6F4E_11D2_A414_006097A44215__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

//#include "AWTContainer.h"
#include "AWTFocusManager.h"
#include "AWTWindowListener.h"
#include "AWTEventMulticaster.h"

class AWTFrame;
class AWTContainer;

class AFX_EXT_CLASS AWTWindow : public AWTContainer  
{
DECLARE_DYNCREATE(AWTWindow)
public:
	AWTWindow();
	AWTWindow(AWTFrame* parent);
	virtual ~AWTWindow();

	virtual void pack();
	virtual void show();
	virtual void dispose();
	virtual void transferFocus(AWTComponent* base) 
		{nextFocus(base);}
	virtual void nextFocus(AWTComponent* base)
		{m_focusMgr->focusNext(base);}
	AWTFocusManager* getFocusManager()
		{return m_focusMgr;}
	void addWindowListener(AWTWindowListener* l);
	void removeWindowListener(AWTWindowListener* l);
	void processWindowEvent(AWTWindowEvent* e);

protected:
	
	int m_state;
	AWTWindowListener* m_windowListener;
	AWTFocusManager* m_focusMgr;


};

#endif // !defined(AFX_AWTWINDOW_H__0A7D1295_6F4E_11D2_A414_006097A44215__INCLUDED_)
